<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        //1.增删
        // const num=[11,22,33]

        //添加
        // const len=num.push(44)
        // const len=num.unshift(44) //返回值为插入后新数组元素个数
        // console.log(num,len)

        //删除
        // const last=num.pop()
        // console.log(num,last)//返回值为删除的该数
        // const first=num.shift()
        // console.log(num,first)

        //任意位置删除和添加
        // const temp=num.splice(1,1)
        // console.log(num,temp)

        // num.splice(3,0,44)
        // console.log(num)

        //2.包含
        // console.log(num.includes(33))
        // console.log(num.includes(55))

        //3.遍历
        // const arr=[11,22,33,44]
        // arr.splice(3, 0, 55)
        // console.log(arr)
        //使用老的for循环遍历
        //     for(let i=0;i<arr.length;++i)
        // {
        //     console.log(arr[i])
        // }
        // const result=arr.forEach((item,index,arr)=>{
        //     console.log(item,index,arr)
        // })
        // console.log(result) //无返回值，强行接收打印的话，就是undefine

        // arr.forEach((item,index)=>{
        //     console.log(item,index)
        // })

        // arr.forEach((index,arr)=>{
        //     console.log(index,arr)
        // })

        //4.过滤
        //const arr=[11,22,33,44]
        //需求：留下arr中所有的偶数
        // const evenarr=arr.filter((item)=>{
        //     if(item%2==0){ return true}
        //     else {return false}
        // })
        // console.log(evenarr)

        //简化
        // const evenarr=arr.filter((item)=> item%2==0)
        // console.log(evenarr)

        //把arr中大于30的数留下
        // const evenarr=arr.filter((item)=> item>30)
        // console.log(evenarr)

        //const arr=[11,22,33,44]
        //要求：每个元素翻倍
        // const doublearr=arr.map((item)=> item*2)
        // console.log(doublearr)

        //得到一个对象数组
        // const newarr=arr.map((item,index)=>{
        //     return {
        //         index:index,
        //         value:item}
        // })

        // const newarr=arr.map((value,index)=>({index,value}))
        // console.log(newarr)

        //5.检测
        //const arr=[11,22,33,44]

        //检测arr中所有元素是否都满足是奇数
        // const flag=arr.every((item)=>{
        //     if(item%2==1) {return true}
        //     else return false
        // })

        //简写
        // const flag=arr.every((item)=> item%2==1)
        // console.log(flag)

        //检测arr中所有元素是否都大于10
        // const bool=arr.every((item)=> item>10)
        // console.log(bool)

        //6.汇总
        //const arr=[11,22,33,44]
        //数组求和
        // let sum=0
        // arr.forEach((item)=> sum+=item)
        // console.log(sum)

        // const sum=arr.reduce((prev,item)=>{
        //     return prev+item
        // },0)
        //简写
        // const sum=arr.reduce((prev,item)=> prev+item,0)
        // console.log(sum)

        //练习
        // const goodsList = [
        //     { id: 1, name: '篮球', num: 1 },
        //     { id: 2, name: '玩具', num: 3 },
        //     { id: 3, name: '书籍', num: 2 }
        // ]
        // //求总数量
        // const sum=goodsList.reduce((prev,item)=>prev+item.num,0)
        // console.log(sum)

    </script>
</body>

</html>